This page last changed on Mar 08, 2006 by rossmason.
The soap provider can be used to publish and invoke services using either Apache Axis or WebMethods Glue. This page only describes the configuration of the soap provider, for more information about using Web services and Mule see -
The javadoc for this provider can be found here.
Axis Connector
Allows Mule managed components to be published as Axis services and allows components to invoke web services using Axis client calls.
The AxisConnector can be found at org.mule.providers.soap.axis.AxisConnector.
AxisConnector Properties
Property |
Description |
Default |
Required |
serverConfig |
The wsdd config file used to configure the axis server for this connector. There is a default server configuration call mule-server-config.wsdd that ships with the provider. This is used if the property is not set. |
./mule-server-config.wsdd |
No |
axisServer |
The Axis server instance that the connector uses. This can be set as a bean property if using a DI container such as Spring or Pico |
|
No |
beanTypes |
A list of class names that should be registered with the Axis Type Registry. Axis handles most serialisation for you such as primitives, Numbers, collections and arrays. The instance where you need to declare classnames here is when you have a class, say com.foo.Person, that has an attribute of type com.foo.Address, you will need to add com.foo.Address to this list (Axis serialisation doesn't handle nested complex types automatically) |
|
No |
MuleDescriptor Properties
There are a number of properties that can be set on a Mule compoent configuration that can be used to configure it as an Axis service.
Property |
Description |
Default |
Required |
beanTypes |
A list of class names that should be registered with the Axis Type Registry. Axis handles most serialisation for you such as primitives, Numbers, collections and arrays. The instance where you need to declare classnames here is when you have a class, say com.foo.Person, that has an attribute of type com.foo.Address, you will need to add com.foo.Address to this list (Axis serialisation doesn't handle nested complex types automatically). If you have set this property on the connector, there is no need to set it on the component as well. Though the conector beanTypes list should contain a superset of all the types used by all components. |
|
No |
serviceInterfaces |
A list of fully qualified interface names that the component implements that should be exposed as part of the Axis service descriptor. |
All interface methods are exposed |
No |
axisOptions |
A Map of configuration options that will be passed to the Axis configuration provider for this component. The common two options that can be set here are -
1. allowedMethods - A comma separated list of methods to expose. The default is '*' 2. scope - scope of the web service. Can be Request, Session or Application. The default is 'Request'. |
|
No |
documentation |
A description of the web service that will be displayed when a list of available services are requested. |
|
No |
Programmatic Configuration
If you want to programmatically configure your Axis service you can implement the org.mule.providers.soap.axis.AxisInitialisable interface. This will pass the SOAPService object to your component where it can be manipulated.
Glue Connector
Allows Mule managed components to be published as Glue services and allows components to invoke web services using Glue client calls.
The GlueConnector can be found at org.mule.providers.soap.axis.AxisConnector.
GlueConnector Properties
There are no specific properties that can be set on the Glue connector
MuleDescriptor Properties
There are a couple of properties that can be set on a Mule compoent configuration that can be used to configure it as an Glue service.
Property |
Description |
Default |
Required |
serviceInterfaces |
A list of fully qualified interface names that the component implements that should be exposed as part of the Axis service descriptor. |
All interface methods are exposed |
No |
Programmatic Configuration
If you want to programmatically configure your Glueservice you can implement the org.mule.providers.soap.glue.GlueInitialisable interface. This will pass the IService object and ServiceContext objects to your component where they can be manipulated.
|